Machine-to-machine (M2M) technologies allow devices to communicate more directly with each other using wired and wireless communications systems. M2M technologies enable further realization of the Internet of Things (IoT), a system of uniquely identifiable objects and virtual representations of such objects that communicate with each other and over a network, such as the Internet. IoT may facilitate communication with even mundane everyday objects, such as products in a grocery store or appliances in a home, and thereby reduce costs and waste by improving knowledge of such objects. For example, stores may maintain very precise inventory data by being able to communicate with, or obtain data from, objects that may be in inventory or may have been sold.
An M2M entity (e.g., an M2M functional entity such as device, gateway, server/platform that may be implemented by hardware, software, or a combination of hardware and software) may provide an application or service. For example, a light sensor may provide data indicating detected light levels or a thermostat may provide temperature data and the ability to adjust air conditioning controls. This data may be made available as a “resource” that may be accessed by other M2M entities and that essentially serves as a means to exchange data between M2M entities. A resource may be a uniquely addressable representation of data that may be addressed using a Universal Resource Indicator (URI). The availability of such resources may be communicated among M2M entities via the M2M service capabilities layer (SCL) using a mechanism called “Announce” that allows these entities to advertise and discover available resources in an M2M communication system. The M2M SCL is a functional entity that may be implemented by hardware and/or software and that provides functions exposed on reference points (i.e., functional interfaces between M2M entities). For example, the M2M SCL may provide common (service) functionalities that are shared or commonly used by different M2M applications and/or services. These common functionalities may be exposed using a set of open interfaces. For example, M2M service capabilities may use cellular core network functionalities through a set of exposed interfaces (e.g., existing interfaces specified by 3GPP, 3GPP2, ETSI TISPAN, etc.) and may also interface to one or more other core networks. Because devices offering resources may be simple devices, communications announcing a resource are often handled by a more intelligent device referred to as a “hosting” SCL entity that may be where the original resource resides. Like other M2M communications at the SCL, resource announcements are made using logical communications interfaces at each entity called “reference points” that are independent of the physical communications interfaces and the actual communications path below the application layer between any communicating M2M entities.
M2M devices and entities are typically organized into M2M network domains. In many implementations, an M2M server configured with a network SCL entity (NSCL) may maintain resources and resource data for use by other devices (e.g., other M2M devices and M2M gateways) in the same M2M network domain. However, in current M2M implementations, an SCL entity can only announce resources associated with an application registered with the SCL to other SCL entities in its own network domain. The announcement procedures currently in use are limited to announcing application resources by SCL entities (may be referred to simply as “SCLs”) rather than also allowing announcement of the SCLs, and only facilitate announcements to the NSCL in the same network domain as the device announcing the resource.